Hybrid pll for grid synchronization in distributed generation

ABSTRACT

Systems, methods, and devices relating to the extraction of parameters for a grid voltage. A multi-block hybrid PLL or hybrid observer receives grid voltage. The grid voltage is received by a harmonic/noise decomposer block which separates the harmonic/noise component of the incoming voltage from the clean voltage signal. The clean voltage signal is then output from the PLL/observer. The clean voltage signal is also sent to an amplitude estimator block which estimates the amplitude of the clean voltage signal. The harmonic/noise component of the input voltage signal is sent, along with the clean voltage signal, to a frequency estimator block. The frequency estimator block then determines the phase angle of the incoming signal as well as the frequency of the incoming voltage signal.

TECHNICAL FIELD

The present invention relates to systems, methods, and devices relating to grid-connected converters for use in a power grid. More specifically, the present invention relates to techniques used to extract grid voltage parameters for use in synchronizing grid connected power converters with the utility grid.

BACKGROUND OF THE INVENTION

Distributed Generators (DGs) for power generation are becoming more prevalent due to their advantages over central power generation methods. By harvesting energy from renewable energy sources, DGs can provide a sustainable solution for future power generation. In order to accommodate a high number of DGs, the utility grid should be able to tolerate relatively high fluctuations in the frequency and amplitude of the grid voltage due to the dynamics the DGs impose on the utility grid. In order to accommodate these fluctuations, the standards for grid-connected power converters have rapidly been changing. The introduction of Rule 21 of “Test Protocols for Advanced Inverter Interoperability Functions” from Sandia National Laboratories for power converters with grid interconnection is one example of these changes.

Grid-connected power converters must be synchronized with the grid voltage. Therefore, synchronization is an inevitable part of the control system for any grid-connected power converter. The grid synchronization block of the control system extracts the phase information of the grid voltage and synchronizes the power converter accordingly. It also extracts other attributes of the grid voltage such as amplitude whenever needed.

The grid synchronization technique should be able to quickly extract the various parameters of the grid voltage even while in the presence of harmonics/noise. In particular, as the number of DGs coupled to the grid increase, there will be a significant amount of variations in the grid voltage. Thus, the synchronization technique must be able to properly synchronize with the grid despite the fluctuations and harmonics/noise in the grid voltage.

Grid synchronizations based on the Adaptive Notch Filter (ANF) PLL and on the Second-Order Generalized Integrator (SOGI) PLL are the current state-of-the-art techniques used for grid synchronization. Both the ANF-based PLL and SOGI-based PLL each utilize two integrators in order to generate orthogonal signals. These orthogonal signals are then used to extract the phase/frequency information. Although these techniques provide a simple and practical solution for grid synchronization, they are susceptible to the harmonic content of the grid voltage. In order to mitigate the impact of harmonics, multiple modules need to be implemented for different harmonics.

FIG. 1 shows the block diagram of the ANF-based PLL (Prior Art) while FIG. 2 shows the block diagram of the SOGI-based PLL (Prior Art). According to FIG. 1 and FIG. 2, both the ANF-based PLL and the SOGI-based PLL use two integrators (i.e., second order generalized integrator) to produce the orthogonal signals. Therefore, in terms of producing orthogonal signals, both methods have the same structure. However, the phase extraction technique from the orthogonal signals is different for the ANF-based PLL and the SOGI-based PLL. For the SOGI-based PLL, phase extraction is based on the dq-transformation (Park transformation) and PI controller for the SOGI-based PLL. For the ANF-based PLL, phase extraction is based on an adaptive algorithm.

Neither the ANF-based PLL nor the SOGI-based PLL is able to precisely extract the attributes of the grid voltage in the presence of harmonics/noise and fluctuations. Therefore, grid-connected power converters require a more effective solution to be able to integrate into future DGs.

Based on the above, there is therefore a need for systems and devices which mitigate if not avoid the shortcomings of the prior art.

SUMMARY OF INVENTION

The present invention provides systems, methods, and devices relating to the extraction of parameters for a grid voltage. A multi-block hybrid PLL or hybrid observer receives grid voltage. The grid voltage is received by a harmonic/noise decomposer block which separates the harmonic/noise component of the incoming voltage from the clean voltage signal. The clean voltage signal is then output from the PLL/observer. The clean voltage signal is also sent to an amplitude estimator block which estimates the amplitude of the clean voltage signal. The harmonic/noise component of the input voltage signal is sent, along with the clean voltage signal, to a frequency estimator block. The frequency estimator block then determines the phase angle of the incoming signal as well as the frequency of the incoming voltage signal.

In a first aspect, the present invention provides a system for determining parameters of an incoming signal, the system comprising:

-   -   a harmonic/noise decomposer block for decomposing said incoming         signal into a clean signal and a harmonic/noise component of         said incoming signal;     -   a frequency estimator block for estimating a frequency and phase         angle of said incoming signal, said frequency estimator block         receiving said clean signal and said harmonic/noise component of         said incoming signal;     -   an amplitude estimator block for estimating an amplitude of said         incoming signal, said amplitude estimator block receiving said         clean signal;

wherein

-   -   said decomposer block outputs said clean signal and said         harmonic/noise component;     -   said frequency estimator block outputs said frequency and values         related to said phase angle of said incoming signal;     -   said amplitude estimator block outputs said amplitude of said         incoming signal.

BRIEF DESCRIPTION OF THE DRAWINGS

The embodiments of the present invention will now be described by reference to the following figures, in which identical reference numerals in different figures indicate identical elements and in which:

FIG. 1 is a block diagram of an ANF-based PLL according to the prior art;

FIG. 2 is a block diagram of a SOGI-based PLL according to the prior art;

FIG. 3 is a block diagram of a hybrid observer according to one aspect of the present invention;

FIG. 4 is a block diagram of a harmonic/noise decomposer block according to another aspect of the invention;

FIG. 5 is a block diagram of a frequency estimator block according to another aspect of the invention;

FIG. 6 is a block diagram of an amplitude estimator block according to another aspect of the invention;

FIG. 7 are time domain waveforms of simulation results for the harmonic/noise decomposer;

FIG. 8 are frequency domain waveforms of simulation results for the harmonic/noise decomposer;

FIG. 9 are enlarged versions of frequency domain waveforms for simulation results for the harmonic/noise decomposer;

FIG. 10 are waveforms showing the frequency tracking performance of the frequency estimator block;

FIG. 11 is an enlarged version of sections of FIG. 10; and

FIG. 12 are waveforms of simulation results for the amplitude estimator block.

DETAILED DESCRIPTION

Referring to FIG. 3, a block diagram of a hybrid observer according to one aspect of the present invention is illustrated. According to FIG. 3, the hybrid observer 10 includes three main blocks: a Harmonic/Noise Decomposer block 20, a Frequency Estimator block 30, and an Amplitude Estimator block 40. In order to decouple the harmonics/noise from the grid voltage signal and to produce a clean sinusoidal signal, the Harmonic/Noise Decomposer block 20 is embedded in the hybrid observer 10. After the signal is decomposed, the Frequency Estimator block 30 then extracts the phase information of the sinusoidal signal. Also, the Amplitude Estimator block 40 calculates the amplitude of the sinusoidal signal.

The Harmonic/Noise Decomposer block 20 must decouple the harmonics/noise content of the grid voltage. The grid voltage is defined as:

ν_(g)(t)=A sin(ωt+φ)+ξ(t)  (1)

In Eqn. (1) the grid voltage consists of a sinusoidal term with the grid frequency and a term representing the harmonics/Noise content of the grid voltage, namely (t). Eqn. (1) can be rewritten as:

ν_(g)(t)=x(t)+ξ(t)  (2)

where x(t) is the sinusoidal signal with the grid frequency and ξ(t) is the harmonics/noise content of the grid voltage.

In order to decouple the term ξ(t) from the grid voltage, the term ξ(t) must be estimated using the grid voltage ν_(g)(t). To design a suitable estimator, the state variables of the system are defined as follows:

$\begin{matrix} {X_{g}^{{State}\mspace{14mu} {{Vars}.}}\text{:}\mspace{14mu} \left\{ \begin{matrix} {x_{1} = {v_{g}(t)}} \\ {x_{2} = {\frac{1}{\omega}{\overset{.}{x}}_{1}}} \end{matrix} \right.} & (3) \end{matrix}$

According to Eqn. (3), the dynamics of the system are given by:

$\begin{matrix} {X_{g}^{Dynamic}\text{:}\mspace{14mu} \left\{ \begin{matrix} {{\overset{.}{x}}_{1} = {\omega \; x_{2}}} \\ {{\overset{.}{x}}_{2} = {{{- \omega}\; x_{1}} + {\omega\xi} + {\frac{1}{\omega}\overset{¨}{\xi}}}} \end{matrix} \right.} & (4) \end{matrix}$

In order to estimate the term ξ(t), the following mapping is introduced:

$\begin{matrix} {{{\Pi \text{:}\mspace{14mu} X}\overset{}{\rightarrow}\mathrm{\Upsilon}}{{ = { \cdot \chi}},{ = \begin{pmatrix} 1 & 0 & 0 & 0 \\ {- 1} & 1 & {- 1} & {- \frac{1}{\omega}} \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix}}}{{\chi = {\begin{pmatrix} x_{1} \\ x_{2} \\ \xi \\ \overset{.}{\xi} \end{pmatrix} \in X}},{ = {\begin{pmatrix} \vartheta_{1} \\ \vartheta_{2} \\ \xi_{1} \\ \xi_{2} \end{pmatrix} \in \mathrm{\Upsilon}}}}} & (5) \end{matrix}$

The mapping

${\Pi \text{:}\mspace{14mu} X}\overset{}{\rightarrow}\mathrm{\Upsilon}$

is a diffeomorphism (i.e., since it is a bijection and invertible and its inverse is differentiable as well). Thus, X and Υ are diffeomorphic. It is worthwhile to mention that the importance of this mapping is to make the system observable for the term (t) (i.e., harmonic/noise content of the grid voltage).

The dynamics of the system in Υ using the mapping

${\Pi \text{:}\mspace{14mu} X}\overset{}{\rightarrow}\mathrm{\Upsilon}$

are given by:

$\begin{matrix} {_{g}^{Dynamic}\text{:}\mspace{14mu} \left\{ \begin{matrix} {{\overset{.}{\vartheta}}_{1} = {{\omega\vartheta}_{2} + {\omega\vartheta}_{1} + {\omega\xi}_{1} + \xi_{2}}} \\ {{\overset{.}{\vartheta}}_{2} = {{{- 2}{\omega\vartheta}_{1}} - {\omega\vartheta}_{2}}} \\ {{\overset{.}{\xi}}_{1} = \xi_{2}} \\ {{\overset{.}{\xi}}_{2} = \overset{¨}{\xi}} \end{matrix} \right.} & (6) \end{matrix}$

The observer for the system in in Υ is designed as:

$\begin{matrix} {\Theta_{g}^{Obs}\text{:}\mspace{14mu} \left\{ \begin{matrix} {{\overset{.}{\hat{\vartheta}}}_{1} = {{\omega {\hat{\vartheta}}_{2}} + {\omega\vartheta}_{1} + {\omega {\hat{\xi}}_{1}} + {\hat{\xi}}_{2} + {\mu_{1}{\overset{\sim}{\vartheta}}_{1}}}} \\ {{\overset{.}{\hat{\vartheta}}}_{2} = {{{- 2}{\omega\vartheta}_{1}} - {\omega {\hat{\vartheta}}_{2}} + {\mu_{2}{\overset{\sim}{\vartheta}}_{1}}}} \\ {{\overset{.}{\hat{\xi}}}_{1} = {\hat{\xi}}_{2}} \\ {{\overset{.}{\hat{\xi}}}_{2} = {\gamma_{1}{\overset{\sim}{\vartheta}}_{1}}} \end{matrix} \right.} & (7) \end{matrix}$ where θ₁=θ₁−θ₁.

FIG. 4 shows the block diagram of the Harmonic/Noise Decomposer block, which is based on Eqn. (7). The outputs of this block are {circumflex over (ξ)}₁, which is the estimation of the harmonics/noise, and {circumflex over (x)}, which is the grid voltage signal without the harmonics/noise content. It is important to mention that the diffeomorphism mapping

${\Pi \text{:}\mspace{14mu} X}\overset{}{\rightarrow}\mathrm{\Upsilon}$

made it possible to precisely estimate the harmonics/noise content of the grid voltage signal.

The other important aspect of the Harmonic/Noise Decomposer block 20 is the fact that it is not sensitive to the precise value of ω. Thus, the value of ω can be pre-set to a default value (e.g., 2π60 rad/s). Thus, regardless of the value of ω, the Harmonic/Noise Decomposer is able to precisely estimate the harmonic/noise content of the grid voltage signal.

Referring to FIG. 4, one implementation of the decomposer block 20 has, as its input, the grid voltage (ν_(g)) 110 while its outputs are {circumflex over (ξ)}₁ 120, which is the estimation of the harmonics/noise, and {circumflex over (x)} 130, which is the grid voltage signal without the harmonics/noise content. The input 110 is received by three separate summation block 140, 150, 160, and a multiplier block 170. Summation block 140 adds the input 110 to the estimation output 120. The result of this summation block 140 is then fed into another summation block 180 which adds the result to an interim variable {circumflex over (θ)}₂ 190. The result of summation block 180 is then multiplied by co by way of a multiplication block 200. Summation block 210 then takes the result of multiplication block 200 and adds it to another interim variable {circumflex over (ξ)}₂. The result of summation block 210 is then added to the term μ₁{tilde over (θ)}₁ by way of summation block 220. The result of summation block 220 is then passed through an integration block 230 to result in the interim variable {circumflex over (θ)}₁ 240.

Returning to the input 110 to the decomposer 100, this input is also received by summation block 150 that subtracts interim variable {circumflex over (θ)}₁ 240 from the input 110. The result is interim variable {tilde over (θ)}₁ 250. This interim variable 250 is multiplied using multiplier block 260 to result in the term μ₁{tilde over (θ)}₁. Similarly, this interim variable 250 is multiplied using multiplier block 270 to result in the term μ₂{tilde over (θ)}₁.

As noted above, input 110 is received by multiplier block 170. This multiplier block 170 multiplies the input 110 by the term 2ω and the result is fed into summation block 280. Summation block 280 subtracts the result of multiplier block 170 from the negative of the result of multiplier block 290. Block 290 multiplies the interim variable {circumflex over (θ)}₂ 190 by the term co. The result of summation block 280 is then added by summation block 295 with the term μ₂{tilde over (θ)}₁ and the result is fed into an integrator block 300. The result is the interim variable {circumflex over (θ)}₂ 190.

The result of summation block 150 is also multiplied by γ₁ using multiplier block 310. The result of this block 310 is then passed through an integrator block 320 to result in interim variable {circumflex over (ξ)}₂. This is passed through another integrator block 330 to result in output {circumflex over (ξ)}₁ 120.

It should be noted that the other output {circumflex over (x)} 130 is achieved by subtracting output {circumflex over (ξ)}₁ 120 from the input 110 by way of summation block 160.

The second block is the Frequency Estimator block 30. The Frequency Estimator block 30 extracts the frequency/phase information from the resulting sinusoidal signal (i.e., the resulting output of the Harmonic/Noise Decomposer block). The output of the Harmonic/Noise Decomposer block 20 is given by:

{circumflex over (x)}(t)=A sin(ωt+φ)  (8)

According to Eqn. (8), the dynamics of the system is given by:

$\begin{matrix} {Q_{Frq}^{Dynamic}\text{:}\mspace{14mu} \left\{ \begin{matrix} {{\overset{.}{q}}_{1} = q_{2}} \\ {{\overset{.}{q}}_{2} = {{- \sigma}\; q_{1}}} \end{matrix} \right.} & (9) \end{matrix}$

where q={circumflex over (x)}(t), q₂={dot over (q)}₁, and θ=ω².

In order to estimate the parameter θ and, in turn, the frequency f, the following change of variables is used:

$\begin{matrix} {F_{Frq}^{Mapping}\text{:}\mspace{14mu} \left\{ \begin{matrix} {{\overset{.}{v}}_{1} = {{{- \beta_{1}}v_{1}} - v_{2}}} \\ {v_{2} = q_{1}} \\ {v_{3} = {q_{2} - {\beta_{1}v_{2}} - {\sigma \; v_{1}}}} \end{matrix} \right.} & (10) \end{matrix}$

According to Eqn. (10), the system dynamics with the new state variables are given by:

$\begin{matrix} {F_{Frq}^{Dynamic}:\left\{ \begin{matrix} {{\overset{.}{v}}_{1} = {{{- \beta_{1}}v_{1}} - v_{2}}} \\ {{\overset{.}{v}}_{2} = {v_{3} + {\beta_{1}v_{2}} + {\sigma \; v_{1}}}} \\ {{\overset{.}{v}}_{3} = {{{- \beta_{1}}v_{3}} - {\beta_{1}^{2}v_{2}}}} \end{matrix} \right.} & (11) \end{matrix}$

The observer for the frequency is designed as:

$\begin{matrix} {\Psi_{Frq}^{Obs}:\left\{ \begin{matrix} {{\overset{.}{v}}_{1} = {{{- \beta_{1}}v_{1}} - v_{2}}} \\ {{\overset{.}{v}}_{2} = {{\hat{v}}_{3} + {\beta_{1}v_{2}} + {\hat{\sigma}\; v_{1}} + {\beta_{2}{\overset{\sim}{v}}_{2}}}} \\ {{\overset{.}{v}}_{3} = {{{- \beta_{1}}v_{3}} - {\beta_{1}^{2}v_{2}} + {\beta_{3}{\overset{\sim}{v}}_{2}}}} \\ {\overset{.}{\hat{\sigma}} = {\gamma_{2}v_{1}{\overset{\sim}{v}}_{2}}} \\ {\overset{.}{\hat{\phi}} = {\gamma_{3}\cos \; {\hat{\theta}\left( {v_{2} - {\hat{A}\; \sin \; \hat{\theta}}} \right)}}} \\ {\hat{\theta} = {{\int{\sqrt{\hat{\sigma}}{t}}} + \hat{\phi}}} \end{matrix} \right.} & (12) \end{matrix}$ where {tilde over (ν)}₂=ν₂−{circumflex over (ν)}₂.

FIG. 5 shows the block diagram of the Frequency Estimator block, which is based on Eqn. (12). The outputs of this block is the phase information of the sinusoidal signal {circumflex over (x)}, namely {circumflex over (f)}, sin {circumflex over (θ)} and cos {circumflex over (θ)}. As should be clear, {circumflex over (f)} is the frequency of the signal and θ is the phase of the signal.

From FIG. 5, one implementation of the Frequency Estimator block is illustrated. The estimator block 30 has, as input, the output {circumflex over (x)} 130 from the decomposer block and the output 400 of the amplitude estimator block 40. As noted above, the outputs of this block 30 are the frequency {circumflex over (f)} 410 of the sinusoidal signal {circumflex over (x)} 130 and the phase related values sin {circumflex over (θ)} 420 and cos {circumflex over (θ)} 430.

Input 400 is multiplied with output 420 by way of multiplier block 440. The result is then subtracted from input 130 by way of summation block 450. The result of this summation block is then multiplied by γ₃ by way of multiplier block 460. The result is then multiplied by output 430 by way of multiplier block 470. The result of this block 470 is then passed through integrator block 480. Integrator block 480 provides intermediate value {circumflex over (φ)}. This intermediate value is then added to the term {circumflex over (ω)}t (from integrator block 485) by way of summation block 490. The result of summation block 490 is {circumflex over (θ)}. This value is then passed, in parallel, through sine block 500 and cosine block 510. The result of sine block 500 is the output 420 and the result of cosine block 510 is the output 430.

It should be noted that estimator block 30 also produces three interim outputs {circumflex over (ν)}₁ 520, {circumflex over (ν)}₂ 530, and {circumflex over (ν)}₃ 540 which are used in determining the outputs of the estimator block 30. The interim output 520 is multiplied by multiplier block 550 by the value β₁. The result is subtracted from the negative of the input 130 by summation block 560. The result is then passed through integrator 570 to result in interim output 520.

The input 130 is received by multiplier block 580 which multiplies the input 130 by value β₁. The result of this multiplier block is added to the interim output 540 by way of summation block 590. The result of summation block 590 is then added, by summation block 600, to the product of interim output 520 and {circumflex over (θ)}. This product is produced by multiplier 610. The result of block 600 is then added to the value β₂{tilde over (ν)}₂ by summation block 620. The result is then passed through an integrator block 630 to result in the interim output 530.

It should be noted that input 130 is also received by summation block 640. This summation block subtracts interim output 530 from input 130 to result in value {tilde over (ν)}₂. This value is then multiplied, in parallel, using multiplier blocks 650, 660 to result in the values β₂{tilde over (ν)}₂ and β₃{tilde over (ν)}₂.

The input 130 is also received by multiplier block 670 which multiplies input 130 by β₁ ². The result is then subtracted by summation block 680 from the negative of the result of multiplier block 690. Multiplier block 690 multiplies the interim output 540 by the value β₁. The result of summation block 680 is then added to the value β₃{tilde over (ν)}₂ (from multiplier block 660) by way of summation block 695. The result of this summation is passed through the integrator block 700. The result is the interim output 540.

The input 130 is also received by multiplier block 710 which multiplies the input 130 by the result of summation block 640. The result of this multiplier block 710 is then multiplied by multiplier block 720 by γ₂. The resulting value is then integrated by integrating block 730. The result of integrating block 730 is then passed through square root block 740 to produce {circumflex over (ω)}. This is then multiplied by

$\frac{1}{2\pi}$

by the multiplier block 750. This results in the output {circumflex over (f)} 410.

The third block is the Amplitude Estimator block 40. In order to extract the amplitude, the output of the Harmonic/Noise Decomposer block 20 is used. This signal is a clean sinusoidal signal. Because of this, the harmonics/noise content has negligible impact on the amplitude estimation. In the present invention, the square value of the sinusoidal signal (i.e. the output of the Harmonic/Noise Decomposer block 20) is used to extract the amplitude of the sinusoidal signal. The output of the Harmonic/Noise Decomposer is given by:

{circumflex over (x)}(t)=A sin(ωt+φ)  (13)

Thus a new variable is defined as:

z(t)=2{circumflex over (x)} ²(t)=δ−δ cos(2ωt+2φ)  (14)

where δ=A².

According to Eqn. (14), the dynamics of the system is given by:

$\begin{matrix} {Z_{Amp}^{Dynamic}:\left\{ {{\begin{matrix} {{\overset{.}{z}}_{1} = {2\omega \; z_{2}}} \\ {{\overset{.}{z}}_{2} = {2{\omega \left( {\delta - z_{1}} \right)}}} \end{matrix}\mspace{14mu} {where}z_{1}} = {{z\mspace{14mu} {and}\mspace{14mu} z_{2}} = {\frac{1}{2\omega}{z_{1}.}}}} \right.} & (15) \end{matrix}$

In order to estimate the parameter δ and, in turn, the amplitude A, the following diffeomorphism mapping is used:

$\begin{matrix} {{\Xi:{Z\overset{A}{\rightarrow}N}}{{N = {\Lambda.Z}},{\Lambda = \begin{pmatrix} 1 & 0 & 0 \\ {- 1} & 1 & {- 1} \\ 0 & 0 & 1 \end{pmatrix}}}{{Z = {\begin{pmatrix} z_{1} \\ z_{2} \\ \delta \end{pmatrix}\varepsilon \; Z}},{N = {\begin{pmatrix} \eta_{1} \\ \eta_{2} \\ \delta \end{pmatrix}\varepsilon \mspace{11mu} N}}}} & (16) \end{matrix}$

According to Eqn. (16), N and Z are diffeomorphic with the mapping

. It is worthwhile to mention that the importance of this mapping is to make the system observable for the term δ and, in turn, A (i.e., the amplitude of the sinusoidal signal {circumflex over (x)}).

The dynamics of the system in N using the mapping

${\Xi \text{:}\mspace{11mu} Z}\overset{\Lambda}{\rightarrow}N$

is given by:

$\begin{matrix} {N_{g}^{Dynamic}:\left\{ \begin{matrix} {{\overset{.}{\eta}}_{1} = {{2\omega \; \eta_{2}} + {2\omega \; \eta_{1}} + {2{\omega\delta}}}} \\ {{\overset{.}{\eta}}_{2} = {{{- 4}\omega \; \eta_{1}} - {2\; \omega \; \eta_{2}}}} \\ {\overset{.}{\delta} = \overset{.}{\delta}} \end{matrix} \right.} & (17) \end{matrix}$

The observer for the system in in N is designed as:

$\begin{matrix} {O_{Amp}^{Obs}:\left\{ \begin{matrix} {{\overset{.}{\hat{\eta}}}_{1} = {{2\omega \; {\hat{\eta}}_{2}} + {2\omega \; \eta_{1}} + {2\omega \hat{\delta}} + {\alpha_{1}{\overset{\sim}{\eta}}_{1}}}} \\ {{\overset{.}{\hat{\eta}}}_{2} = {{{- 4}\omega \; \eta_{1}} - {2\; \omega {\hat{\; \eta}}_{2}} + {\alpha_{2}{\overset{\sim}{\eta}}_{1}}}} \\ {\overset{.}{\hat{\delta}} = {2\omega \; \gamma_{4}{\overset{\sim}{\eta}}_{1}}} \end{matrix} \right.} & (18) \end{matrix}$ where {tilde over (η)}₁=η₁−{circumflex over (η)}₁.

FIG. 6 shows the block diagram of the Amplitude Estimator block, which is based on Eqn. (18). The output of this block is the amplitude of the sinusoidal signal {circumflex over (x)}, namely {circumflex over (δ)} or, as shown in FIG. 6, Â.

Referring to FIG. 6, the amplitude estimator block 40 has, as its input, the signal {circumflex over (x)} 130 from the decomposer block 20. This input 130 is multiplied by itself (i.e. squared) by multiplier block 800 and the squared result is multiplied by multiplier block 810 by 2. The result of multiplier block 810 is then received by summation blocks 820, 830 and multiplier block 840.

The summation block 820 adds the result of multiplier block 810 to the value {circumflex over (δ)}. From block 820, the result is then added by summation block 850 to the interim output {circumflex over (η)}₂ 860. The result from block 850 is then multiplied by multiplier block 870 with the value 2ω. From block 870, the result is added by summation block 880 to the value α₁{tilde over (η)}₁. The result is passed through integrator block 890 to result in interim output {circumflex over (η)}₁ 900.

As noted above, the result from multiplier block 810 is received by summation block 830. Summation block 830 subtracts interim output 900 from this result from block 810. The resulting value, {tilde over (η)}₁, is then multiplied, in parallel, by multiplier blocks 910, 920 to result in the values α₁{tilde over (η)}₁ and α₂{tilde over (η)}₁.

Also as noted above, the result from multiplier block 810 is received by multiplier block 840. This block 8540 multiplies the result from block 810 by 4 w and the result is subtracted by summation block 930 from the negative of the result of multiplier block 940. Block 940 multiplies the interim output 860 by 2ω. The result of block 930 is then added by summation block 950 to the value α₂{tilde over (η)}₁ from multiplier block 920. The result of block 950 then passed through integrator block 960 to result in the interim output 860.

The final branch of the block 40 has the result of summation block 830 being multiplied by 2ω by multiplier block 970. The result of this block 970 is then multiplied by multiplier block 980 with value γ₃. From this block 980, the result is passed through integrator block 990. A square root function is then applied to the result of this block 990 by square root block 1000 to result in output Â 400.

In order to evaluate the performance of the hybrid observer, a computer simulation has been conducted. In this simulation a polluted signal is given as the grid voltage. FIG. 7, FIG. 8, and FIG. 9 show the performance of the Harmonic/Noise Decomposer block. In this simulation, the pollution in the signal took the form and extent consisting of a 4% of the dc-component, a 4% of the 5^(th) harmonic of a 60 Hz sinusoidal signal (i.e., 300 Hz) and a 4% of the 7^(th) harmonic of a 60 Hz sinusoidal signal (i.e., 420 Hz) to a 100% of the fundamental component with the frequency of 59 Hz. FIG. 7 shows that the Harmonic/Noise Decomposer block is able to isolate the harmonic/noise content of the signal and to extract the fundamental component in the presence of the harmonics and noise. It is important to note that the Harmonic/Noise Decomposer block is able to effectively estimate the dc-component as well as the harmonics.

FIG. 8 shows the performance of the Harmonic/Noise Decomposer block in the frequency domain. FIG. 8 confirms that the Harmonic/Noise Decomposer block can decouple the fundamental component from the harmonics/Noise. FIG. 9 is an enlarged version of FIG. 8 and shows that the Harmonic/Noise Decomposer block precisely estimates different components of the grid voltage signal.

FIG. 10 and FIG. 11 show the performance of the Frequency Estimator block. FIG. 10 illustrates the frequency tracking performance of the Frequency Estimator block. In this figure, a step change from 59 Hz to 61 Hz is applied. FIG. 10 shows that the Frequency Estimator block can precisely track the change in the frequency. FIG. 11 is an enlarged version of FIG. 10 and shows that the Frequency Estimator block is able to accurately estimate the frequency of the clean sinusoidal signal {circumflex over (x)}.

FIG. 12 shows the performance of the Amplitude Estimator block. FIG. 12 illustrates that the Amplitude Estimator block can precisely and quickly estimate the amplitude of the clean sinusoidal signal 2.

It should be noted that the systems and modules according to the present invention may be implemented using multiple methods. The present invention may be implemented using ASIC (application specific integrated circuit) technology or it may be implemented such that each block is implemented separately from the other blocks. Similarly, the present invention may be implemented using any suitable data processing device including a general data processor such as a general purpose computer. Alternatively, the present invention may be implemented using a dedicated data processing device specific for the use of the present invention.

It should be noted that the functions and relationships detailed by Eqns. (7), (12), and (18) may be implemented using a general purpose computer using a suitable signal processing interface. The resulting values and/or signals can then be used in conjunction with a DG to synchronize grid-connected power converters with the grid. The values and/or signals from the general purpose computer can be used as input to a suitable interface with the power converter to thereby synchronize the power converter with the grid.

The embodiments of the invention may be executed by a computer processor or similar device programmed in the manner of method steps, or may be executed by an electronic system which is provided with means for executing these steps. Similarly, an electronic memory means such as computer diskettes, CD-ROMs, Random Access Memory (RAM), Read Only Memory (ROM) or similar computer software storage media known in the art, may be programmed to execute such method steps. As well, electronic signals representing these method steps may also be transmitted via a communication network.

Embodiments of the invention may be implemented in any conventional computer programming language. For example, preferred embodiments may be implemented in a procedural programming language (e.g. “C”) or an object-oriented language (e.g. “C++”, “java”, “PHP”, “PYTHON” or “C#”). Alternative embodiments of the invention may be implemented as pre-programmed hardware elements, other related components, or as a combination of hardware and software components.

Embodiments can be implemented as a computer program product for use with a computer system. Such implementations may include a series of computer instructions fixed either on a tangible medium, such as a computer readable medium (e.g., a diskette, CD-ROM, ROM, or fixed disk) or transmittable to a computer system, via a modem or other interface device, such as a communications adapter connected to a network over a medium. The medium may be either a tangible medium (e.g., optical or electrical communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques). The series of computer instructions embodies all or part of the functionality previously described herein. Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies. It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink-wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server over a network (e.g., the Internet or World Wide Web). Of course, some embodiments of the invention may be implemented as a combination of both software (e.g., a computer program product) and hardware. Still other embodiments of the invention may be implemented as entirely hardware, or entirely software (e.g., a computer program product).

A person understanding this invention may now conceive of alternative structures and embodiments or variations of the above all of which are intended to fall within the scope of the invention as defined in the claims that follow. 

We claim:
 1. A system for determining parameters of an incoming signal, the system comprising: a harmonic/noise decomposer block for decomposing said incoming signal into a clean signal and a harmonic/noise component of said incoming signal; a frequency estimator block for estimating a frequency and phase angle of said incoming signal, said frequency estimator block receiving said clean signal and said harmonic/noise component of said incoming signal; an amplitude estimator block for estimating an amplitude of said incoming signal, said amplitude estimator block receiving said clean signal; wherein said decomposer block outputs said clean signal and said harmonic/noise component; said frequency estimator block outputs said frequency and values related to said phase angle of said incoming signal; said amplitude estimator block outputs said amplitude of said incoming signal.
 2. A system according to claim 1, wherein said incoming signal is a voltage signal.
 3. A system according to claim 2, wherein said voltage signal is a voltage of a utility power grid.
 4. A system according to claim 1, wherein said incoming signal originates from a utility power grid.
 5. A system according to claim 1, wherein said decomposer block is represented by: $\Theta_{g}^{Obs}:\left\{ \begin{matrix} {{\overset{.}{\hat{\vartheta}}}_{1} = {{\omega \; {\hat{\vartheta}}_{2}} + {\omega \; \vartheta_{1}} + {\omega \; {\hat{\xi}}_{1}} + {\hat{\xi}}_{2} + {\mu_{1}{\overset{\sim}{\vartheta}}_{1}}}} \\ {{\overset{.}{\hat{\vartheta}}}_{2} = {{{- 2}\omega \; \vartheta_{1}} - {\omega {\hat{\vartheta}}_{2}} + {\mu_{2}{\overset{\sim}{\vartheta}}_{1}}}} \\ {{\overset{.}{\hat{\xi}}}_{1} = {\hat{\xi}}_{2}} \\ {{\overset{.}{\hat{\xi}}}_{2} = {\gamma_{1}{\overset{\sim}{\vartheta}}_{1}}} \end{matrix} \right.$ where {tilde over (θ)}₁=θ−{circumflex over (θ)}₁; and {dot over (ξ)}₁ is an estimate of said harmonic/noise component.
 6. A system according to claim 1, wherein said frequency estimator block is represented by: $\Psi_{Frq}^{Obs}:\left\{ \begin{matrix} {{\overset{.}{v}}_{1} = {{{- \beta_{1}}v_{1}} - v_{2}}} \\ {{\overset{.}{v}}_{2} = {{\hat{v}}_{3} + {\beta_{1}v_{2}} + {\hat{\sigma}\; v_{1}} + {\beta_{2}{\overset{\sim}{v}}_{2}}}} \\ {{\overset{.}{v}}_{3} = {{{- \beta_{1}}{\hat{v}}_{3}} - {\beta_{1}^{2}v_{2}} + {\beta_{3}{\overset{\sim}{v}}_{2}}}} \\ {\overset{.}{\hat{\sigma}} = {\gamma_{2}v_{1}{\overset{\sim}{v}}_{2}}} \\ {\overset{.}{\hat{\phi}} = {\gamma_{3}\cos \; {\hat{\theta}\left( {v_{2} - {\hat{A}\; \sin \; \hat{\theta}}} \right)}}} \\ {\hat{\theta} = {{\int{\sqrt{\hat{\sigma}}{t}}} + \hat{\phi}}} \end{matrix} \right.$ wherein {tilde over (ν)}₂=ν₂−{circumflex over (ν)}₂; {circumflex over (θ)} is an estimate of said phase angle of said incoming signal; and $\hat{f} = \frac{\sqrt{\hat{\sigma}}}{2\pi}$ =estimated frequency of said incoming signal.
 7. A system according to claim 1, wherein said amplitude estimator block is represented by: $O_{Amp}^{Obs}:\left\{ \begin{matrix} {{\overset{.}{\hat{\eta}}}_{1} = {{2\omega \; {\hat{\eta}}_{2}} + {2\omega \; \eta_{1}} + {2\omega \hat{\delta}} + {\alpha_{1}{\overset{\sim}{\eta}}_{1}}}} \\ {{\overset{.}{\hat{\eta}}}_{2} = {{{- 4}\omega \; \eta_{1}} - {2\; \omega {\hat{\; \eta}}_{2}} + {\alpha_{2}{\overset{\sim}{\eta}}_{1}}}} \\ {\overset{.}{\hat{\delta}} = {2\omega \; \gamma_{4}{\overset{\sim}{\eta}}_{1}}} \end{matrix} \right.$ where {tilde over (η)}₁=η₁−{circumflex over (η)}₁; and Â=√{square root over (δ)}=estimated amplitude for said incoming signal.
 8. A system according to claim 1, wherein said system is used to estimate parameters for a grid voltage for a power utility grid.
 9. A system according to claim 8, wherein said parameters are for use in synchronizing a power converter connected to said power utility grid. 